package org.dejavu.design.abstractfactory;

/**
* <p>Title: AbstractFactoryTest</p>
* <p>Description: </p>
* <p>Company: </p> 
* @author dejavu
* @date 2016-9-7 下午3:00:33
*/
public class AbstractFactoryTest {

	/**
	 * the abstracFactory is definition parent factory 
	 * also two factory implement it
	 * The benefits of this design pattern is
	 * if you want to add new function 
	 * you just needed implement an other sender and this factory
	 * @param args
	 */
	public static void main(String[] args) {
		Provider pmail = new SendMailFactory();
		Sender produce = pmail.produce();
		Provider psms = new SendSmsFactory();
		Sender smsprovider = psms.produce();
	}

}
